﻿#region Copyright
/// <copyright>
/// Copyright (c) 2008 Ilia Shramko.
/// Released under the terms of the GNU General Public License.
/// </copyright>
#endregion

using System;
using System.Collections.Generic;
using System.Text;

namespace Osh.Dvb
{
	/// <summary>
	/// IDescriptor is a basic interface for program or program element descriptors.
	/// See ISO/IEC 13818-1 section 2.6 
	/// </summary>
	public interface IDescriptor
	{
		/// <summary>
		/// Gets or sets identifier of a descriptor (descriptor_tag field).
		/// </summary>
		DescriptorTags Tag { get; set; }
	
		/// <summary>
		/// Gets or sets the length of a descriptor.
		/// Specifying the number of bytes of the descriptor immediately following descriptor_length field.
		/// </summary>
		byte BodyLength { get; set; }

		/// <summary>
		/// Gets the length of a descriptor including its header (descriptor_tag and descriptor_length fields).
		/// </summary>
		int Length { get; }
	}
}
